<?php
/**
 * @link http://www.nao.com/
 * @copyright NAO集团有限公司
 * @license http://www.tangzhangming.com/framework/license/
 */
namespace Framework\Cache;

/**
 * Cache 是支持不同缓存存储实现的缓存类的基类
 * PSR-16标准 https://www.php-fig.org/psr/psr-16/
 * @author Tang,Zhangming <tangzhangming@live.com>
 * @version 1.0
 */
class BaseCache
{
	/**
	 * 从缓存中获取一个值
	 */
	public function get($key, $default = null){};

	/**
	 * 将数据保留在缓存中，由具有可选过期 TTL 时间的键唯一引用。
	 */
	public function set($key, $value, $ttl = null){};

	/**
	 * 通过其唯一键从缓存中删除项目
	 */
	public function delete($key){};

    /**
     * 擦拭干净整个缓存的键
     * @return bool 成功时为真，失败时为假
     */
	public function clear(){};

	/**
	 * 确定缓存中是否存在项目
	 * @return bool
	 */
	public function has($key){};

	/**
	 * 通过唯一键获取多个缓存项
	 */
	public function getMultiple($keys, $default = null){};

	/**
	 * 在缓存中保留一组键 => 值对，带有一个可选的 TTL
	 */
	public function setMultiple($values, $ttl = null){};

	/**
	 * 在单个操作中删除多个缓存项
	 */
	public function deleteMultiple($keys){};

}